Method for dynamic contrast improvement

ABSTRACT

A method for dynamic contrast improvement of video data includes the steps of analyzing a portion of a video frame, and forcing a start of DCI transfer function computations in response to an end of the analysis of the portion of the video frame.

This application claims the benefit, under 35 U.S.C. § 365 ofInternational Application PCT/US02/34414, filed Oct. 28, 2002, which waspublished in accordance with PCT Article 21(2) on May 8, 2003 in Englishand which claims the benefit of U.S. provisional patent application No.60/337,634, filed Nov. 1, 2001.

FIELD OF THE INVENTION

The present invention relates to dynamic contrast improvement (“DCI”) ofvideo data.

BACKGROUND OF THE INVENTION

There is a strong demand on picture contrast in video displays, but eachdisplay has a limited dynamic range. In general, the picture contrastcannot be increased by simply increasing the video signal amplitudebecause exceeding the display dynamic range causes unwanted effects.Additionally, newer flat panel displays like liquid crystal display(“LCD”) and plasma display panel (“PDP”) types can have a smallerdynamic range than the more traditional cathode ray tube (“CRT”)designs. However, an efficient use of display dynamic range depending onthe picture contents can increase picture contrast and quality. Suchdynamic contrast improvement (“DCI”) is disclosed in U.S. Pat. No.6,285,413 B1 to Akbayir (“Akbayir”), which is incorporated herein byreference.

Akbayir teaches how to analyze a picture framewise and adjust theparameters of a dual segment transfer function depending on the analysisresults for the best subjective picture quality. FIG. 1 is a graph ofthe dual segment transfer function disclosed in Akbayir. Each imageframe is analyzed for four different characteristics: image averagebrightness, dark sample distribution, frame peak value, and signal tonoise ratio. The transfer function consists of two segments (a lowersegment for dark samples, and an upper segment for light samples) withan adaptive pivot point. Signal to noise ratio adapts the signalpreparation (the noise estimator is not a part of DCI), whereas theimage average brightness, dark sample distribution, and frame peak valuecontrol the transfer function. The gain of the lower segment is adaptiveto the dark sample distribution. A higher gain results from fewer darksamples and a lower gain from a higher number of dark samples. The gainof the lower segment is limited to following the range:1.0≦Segment1_Gain≦Max_Gain1

The gain of the upper segment of the transfer function is adaptive tothe frame peak value. It is computed such that a detected peak valuelower than a nominal will be moved to the nominal peak value. If thedetected peak value is equal to or higher than the nominal peak valuethen a gain of 1.0 is used (no change). The computed theoretical gain islimited then to a maximum value in order to avoid unnatural effects:1.0≦Segment2_Gain≦Max_Gain2

The third parameter of the transfer function is the pivot point. It isadaptive to the average image brightness and allows dark pictures to bemade more contrasting and light. Low average brightness moves the pivotpoint to a lower level and high average brightness moves the pivot pointto a higher level. The minimum pivot point value is about 7 IRE and themaximum about 40 IRE, where a 100 IRE (Institute of Radio Engineersunits) luminance represents the white level of a standard video signaland a 0 IRE luminance represents the blanking level.

Akbayir teaches that the DCI transfer function is computed within thevertical blanking time (see Akbayir at column 8, lines 43–45). Thevertical blanking time or vertical blanking interval (“VBI”) is the timerequired for the electron beam in a video CRT to be moved from the endof a frame back to the top of the screen. In a software-based videoprocessing system, the microprocessor may need to perform manyoperations during the VBI. For example, VBI portions of televisionsignals (“VBI signals”) can be used to transmit information other thantraditional program video or audio, such as closed-caption text andstock market data. Performing DCI computations during the VBI reducesthe amount of time that a microprocessor has to receive and process VBIsignals and/or perform other operations during the VBI.

The present invention is directed to overcoming this problem.

SUMMARY OF THE INVENTION

A method for dynamic contrast improvement (“DCI”) of video data includesthe steps of analyzing a portion (200) of a video frame, and forcing astart of DCI transfer function computations in response to an end of theanalysis of the portion (200) of the video frame.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 is a graph of the dual segment transfer function disclosed inU.S. Pat. No. 6,285,413 B1 to Akbayir;

FIG. 2 is a top level functional block diagram of an exemplary methodand apparatus for DCI according to the present invention;

FIG. 3 is an illustration of an exemplary analysis window;

FIG. 4 is a functional block diagram of the exemplary Analysis WindowBlock of FIG. 2;

FIG. 4 a and FIG. 4 b are exemplary timing diagrams for theANALYSIS_RESET and END_ANLY signals generated by the exemplary AnalysisWindow Block;

FIG. 5 is a functional block diagram of a look-up table implementationof exemplary Common IIR Filter and Parameter Computation Block; and

FIG. 6 is a functional block diagram of a divider implementation ofexemplary Common IIR Filter and Parameter Computation Block 140.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The characteristics and advantages of the present invention will becomemore apparent from the following description, given by way of example.

FIG. 2 is a top level functional block diagram of an exemplary methodand apparatus for DCI 100 according to the present invention. As shownin FIG. 2, DCI 100 includes 6 main blocks: an Analysis Window Block 110,an Adaptive Signal Splitter Block 120, an Image Analysis Block 130, aCommon Infinite Impulse Response (“IIR”) Filter and ParameterComputation Block 140, a Dual Segment Transfer Function Block 150, and aColor Saturation Compensation Block 160. Suitable implementations ofAdaptive Signal Splitter Block 120, Dual Segment Transfer Function Block150, and Color Saturation Compensation Block 160 are known from U.S.Pat. No. 6,285,413 B1 to Akbayir. The present invention includes aconventional microprocessor 250 (see FIG. 4) and suitable software thatimproves the functionality of Analysis Window Block 110, Image AnalysisBlock 130, and Parameter Computation Block 140 as discussed in furtherdetail below. To this end, microprocessor 250 (see FIG. 4) is a sharedresource that executes the software, which is described herein in termsof corresponding functional block diagrams and timing diagrams thatshould be readily understood by one of ordinary skill in the art. Italso is noted, however, that the block/timing diagram approach is usedherein merely for clarity of exposition, and it should be appreciatedthat one of ordinary skill in the art could alternatively describe thesoftware in terms of corresponding flowcharts or in any other suitablemanner.

FIG. 3 is an illustration of an exemplary analysis window 200. It isknown to change the picture format in applications like zoom and formatconversion, where the whole picture size is not displayed. The analysiswindow 200 defines a portion of the displayed picture size for DCIanalysis. The analysis for DCI functions is enabled within the window200 and disabled outside the window 200. In this way it is also possibleto disable the analysis in subtitles and logos. In the exemplaryembodiment of the present invention, the microprocessor 250 (see FIG. 4)gets the user settings for analysis window 200 and the size of displayedpicture after format control, calculates the size of analysis window 200and writes the parameters for the window 200 as start line, end line,start pixel and end pixel to the registers SLINE, ELINE, SPIXEL, EPIXEL.Comparison of the line and pixel counters with the parameters for window200 provides an enable signal for samples within the analysis window200. The user settings for analysis window 200 are defined in term ofoffsets related to the displayed picture size. The following equationsshow relationships between the user settings and corresponding pixel andline numbers:

SPIXEL = LEFT_OFS EPIXEL = PIXEL_PER_LINE − RIGHT_OFS − 1 SLINE =TOP_OFS ELINE = LINE_PER_FIELD − BOTTOM_OFS − 1 LEFT_OFS Number ofpixels on the left picture side, omitted from analysis RIGHT_OFS Numberof pixels on the right picture side, omitted from analysis TOP_OFSNumber of lines on the top of picture, omitted from analysis BOTTOM_OFSNumber of lines on the bottom of picture, omitted from analysis

FIG. 4 is a functional block diagram of the exemplary Analysis WindowBlock 110 of FIG. 2, and FIG. 4 a and FIG. 4 b are exemplary timingdiagrams for the ANALYSIS_RESET and END_ANLY signals generated by theexemplary Analysis Window Block 110. The present invention updates thesoftware registers used in performing DCI calculations every framewithout using up the vertical blanking interval. This allowsmicroprocessor 250 to use the vertical blanking interval to performother necessary system calculations. This also allows a less compleximplementation of microprocessor 250 to be used in a video signalprocessing system that provides DCI. To allow microprocessor 250 moretime to perform the other calculations, the present invention forcesupdating of the DCI registers to occur between the signal END_ANLY andthe vertical blanking interval. The signal END_ANLY is used to interruptmicroprocessor 250 using a conventional interrupt input. The DCIcalculations are performed until the beginning of the vertical blankinginterval, or shortly thereafter. It is expected that the DCIcalculations will be completed at this time. However, there is nothingto force the calculations to terminate until ANALYSIS_RESET isactivated. At activation of ANALYSIS_RESET the new DCI data must bewritten into the DCI registers. By forcing the DCI calculations to occurin this manner microprocessor 250 has most, if not all of the verticalblanking interval to perform other calculations and control. SinceEND_ANLY is activated every frame at the end of the analysis window 200,the DCI registers are updated every frame.

The register FREEZE_ANLY is included for test purposes. It allows aframe synchronous freeze of the image analysis so that the analysis ofthe currently processed frame is always completed and then the analysisis disabled. This is controlled by the ANALYSIS_RESET signal. TheANALYSIS_RESET signal is generated by microprocessor 250. It isactivated (set to high) for a short time (a few clock-periods) afterreading the analysis results and then set again to low. There is nofixed time point for the ANALYSIS_RESET signal. However, ANALYSIS_RESETis activated within the proper range (i.e., frame based, within thevertical blanking time, after reading the analysis results) (see FIG. 4a and FIG. 4 b). When the FREEZE_ANLY register is set to “on” then theanalysis is frozen and the ANLY_RESET signal disabled (set to low). Thelatest analysis results are taken for further image processing as longas the register is “on”.

Analysis Window Block 110 also provides the END_ANLY signal to indicatethe end of the analysis. For a precision analysis, needed for the DarkSample Distribution computations, it is necessary to check the remainderdata in the register and correct the results. When END_ANLY signal ishigh then the needed operations can be performed in order to completethe dark sample distribution analysis.

FIG. 5 is a functional block diagram of a look-up table implementation300 of exemplary Common IIR Filter and Parameter Computation Block 140.The image analysis is done framewise. Thus, for interlaced scanning,Image Analysis Block 130 (see FIG. 2) provides analysis results at theend of the second field (see, e.g., the END_ANLY signal in FIG. 4 a).Actually, the analysis is only done inside analysis window 200 (see FIG.3). If analysis window 200 is smaller than the active picture size,which is usually the case, then the analysis initially seems to befinished at the end of analysis window 200. The END_ANLY signal fromAnalysis Window Block 110 (see FIG. 4) indicates this.

Image Analysis Block 130 (see FIG. 2) provides information for eachframe about the average brightness (AVRG_BR), dark sample distribution(DRKS_DIST), and frame peak value (FR_PEAK). These values determine thecharacteristics of the transfer function used for the next frame. Allthese three values are filtered with an IIR filter each frame. The timeconstants for the filtering are determined by the settings AB_ATT,AB_DEC for average brightness, DS_ATT, DS_DEC for dark sampledistribution and PK_ATT, PK_DEC for peak value. Using two time constantsettings for filtering of each analysis information allows independentcontrol of the attack and decay time (xx_ATT: attack time constant; andxx_DEC: decay time constant).

The frame average brightness determines the pivot point of the DualSegment Transfer Function. The value is limited to a suitable range andthen filtered with an IIR filter. Depending on the current and previousvalue the decay or attack time constant is used for filtering. Thefiltered value is stored with a precision of 5 fraction bits in theframe average brightness register, AVRG_BR. First an internal pivotpoint value, TF_DPPI, is computed. It is needed in upper segment gaincomputation part. The value is in unsigned format and contains 3fraction bits. The internal pivot point value has to be matched to theluma format. The final pivot point value is obtained by converting theinternal value to signed format and truncating the least significant bit(“LSB”). The available dynamic range of the pivot point is reduced withuser setting PP_LIM (if desired) by limiting the lower value.

The peak counter values from the frame peak analysis part are summed upand normalized by a factor of 2^N. If all counters PKCNT_00 . . .PKCNT15 are completely filled up then the result is 255. Depending onthe counter states, the normalized value is between 0 and 255. Thisvalue has a precision of 8 bits. The minimum peak value is limited to185 (for 8-bit luminance signal in unsigned format) in order to limitthe gain of the upper segment to a desired maximum value. The maximumpeak value is 240. The gain of the upper segment is determined such thatthe detected peak value is stretched to 240 if it is lower then 240. Thevalue of 55 comes from the difference between the maximum and minimumpeak value. It is multiplied by the normalized peak value. With a shiftoperation of 8 bits the fraction bits are truncated. The result is framepeak value relative to the minimum value of 185. The minimum value islimited by user setting AP_LIM (if desired) so that the gain of theupper segment does not exceed a predefined maximum value. The maximumgain is defined to preserve natural picture quality, as follows:1.0≦GAIN_SEG2≦1.699

The computed relative peak value is added to the minimum value in orderto get the absolute frame peak value. After that the peak value isfiltered with an IIR filter. Depending on the current and previous peakvalue decay or attack time constant is used for filtering. The filteredvalue is stored with a precision of 5 fraction bits in the frame peakregister FR_PEAK. The upper segment gain is determined, as given in thefollowing equation, by the filtered peak value and the pivot pointposition:

${GAIN\_ SEG2} = \frac{{Y100IRE} - {TF\_ DPPI}}{{{FR\_ PEAK}{\_ FILT}} - {TF\_ DPPI}}$

-   -   where GAIN_SEG2 indicates: Segment-2 gain for dual segment        transfer function; and    -   where Y100IRE indicates: Luminance signal 100 IRE value

For further computation a precision of 3 fraction bits is enough;therefore, two LSBs are truncated. The pivot point delivered fromaverage brightness analysis (it has the same format and precision) issubtracted from peak value. This is the denominator of the equationdetermining the segment gain.

The computation of the segment gain includes a divider that isimplemented with a look-up table 350 and a multiplier 400. The look-uptable 350 contains the results of the computation

$\frac{1}{{{FR\_ PEAK}{\_ FILT}} - {TF\_ DPPI}}$

-   -   with a precision of n bits, as given in the table below:

TABLE 1 Look-Up Table $\begin{matrix}{X = {{{FR\_ PEAK}{\_ FILT}} - {TF\_ DPPI}}} \\{X_{\min} = {{{FR\_ PEAK}{\_ FILT}_{\min}} - {TF\_ DPPI}_{\max}}} \\{X_{\max} = {{{FR\_ PEAK}{\_ FILT}_{\max}} - {TF\_ DPPI}_{\min}}} \\{{ROM\_ Address} = {X - X_{\min}}} \\\begin{matrix}\; & {{ROM\_ Value} = \frac{2^{n}}{X}} & {n:\mspace{20mu}{{number}\mspace{14mu}{of}\mspace{14mu}{fraction}\mspace{14mu}{bits}}} \\{for} & {{{FR\_ PEAK}{\_ FILT}_{\min}} = 185} & {{{FR\_ PEAK}{\_ FILT}_{\max}} = 240} \\\Rightarrow & {{TF\_ DPPI}_{\min} = 32} & {{TF\_ DPPI}_{\max} = 106}\end{matrix}\end{matrix}\quad$ X = (FR_PEAK_FILT − TF_DPPI) $\begin{matrix}{{ROM\_ Address} =} \\( {X - {Xmin}} )\end{matrix}\quad$ $\begin{matrix}{{ROM\_ Value} =} \\{( {{{2\hat{}n}/X} + 0.5} ),} \\{{{for}\mspace{14mu} n} = 14}\end{matrix}\quad$  79  0 207  80  1 205  81  2 202 . . . . . . . . .206 127  80 207 128  79 208 129  79

The transfer function for luminance signals higher than the pivot pointis given by the equation:Yout=gain_seg2*(Y _(in) −TF _(—) DPP)+TF _(—) DPP Y _(in) >TF _(—) DPP

where Yout indicates: Output luminance signal; and

where Yin indicates: Input luminance signal

The segment gain is split into integer and fraction parts, where theinteger part is always 1:GAIN_SEG2=GAIN_SEG2_INT+GAIN_SEG2_FRC=1+GAIN_SEG2_FRCY _(out)=GAIN_SEG2_FRC*(Y _(in) −TF _(—) DPP)+Y _(in) Y _(in) >TF _(—)DPP

Using only the fraction part saves one bit. Therefore, the integer partis subtracted from the computed gain. The results are written intoregister GAIN_SEG2.

Since a look-up table does the 1/x approximation, the precisiori of thisvalue is further reduced and freed from offset of 79 for using asLook-Up table address.

The numerator (Y100IRE−TF_DPPI) of the same equation is multiplied withthe Look-Up table data and the fraction bits are truncated by a shiftoperation of 5 bits.

The frame dark sample distribution value determines the gain of thelower segment. It is also filtered in the same way as the otherparameters and then converted to the desired format by truncating the 2LSBs.

The signal to noise ratio, measured outside the DCI by an externaldevice, is also processed in the same way so that it can be used tocontrol the coring value in Adaptive Signal Splitter Block 120 in aknown manner.

FIG. 6 is a functional block diagram of a divider implementation 600 ofexemplary Common IIR Filter and Parameter Computation Block 140. Dividerimplementation 600 performs the same operations as look-up tableimplementation 300 (see FIG. 5) except that the look-up table 350 andmultiplier 400 (which approximate 1/x) are replaced by a suitabledivision block 650 (such as an integer division in the C programminglanguage).

Thus, in operation (with either look-up table implementation 300 ordivider implementation 600), DCI 100 generates the signal END_ANLY toindicate the end of the analysis and interrupts the microprocessor withEND_ANLY to read the analysis data as soon as they are available.Depending on the size of analysis window 200, the analysis is finishedmuch earlier than the start of the vertical blanking interval.Consequently, the microprocessor performs the DCI computations duringthe active video (rather than during the vertical blanking interval) andonly needs to write the results into the segment registers of the DualSegment Transfer Function during vertical blanking. Thereafter, themicroprocessor is reliably freed up for other tasks during the verticalblanking time. Additionally, implementing the DCI algorithms of thepresent invention in software allows for future adjustments to thealgorithms by mere reprogramming, as opposed to the more costly andcomplex steps that are typically required to reconfigure ahardware-based processing system.

1. A method for dynamic contrast improvement of video data, comprisingthe steps of: analyzing a portion of a video frame; forcing a start ofDCI transfer function computations in response to an end of the analysisof the portion of the video frame completing the DCI transfer functioncomputations during a reception of said video frame.
 2. The method ofclaim 1, wherein the forcing step includes providing an interrupt signalto a microprocessor.
 3. The method of claim 2, further including thesteps of: writing results of the DCI transfer function computations intoregisters during a vertical blanking interval that follows the receptionof the video frame.
 4. The method of claim 3, further including thesteps of: maintaining a reset signal in a deactivated state after areception of a first field of an interlaced video frame; and activatingthe reset signal after a reception of a second field of the interlacedvideo frame.
 5. The method of claim 1, further including the steps of:writing results of the DCI transfer function computations into registersduring a vertical blanking interval that follows the reception of thevideo frame.
 6. A method for dynamic contrast improvement of video data,comprising the steps of: receiving data representing a video frame;analyzing at least a portion, defined by an analysis window, of the datarepresenting the video frame for an image average brightness value and adark sample distribution value; adjusting parameters of a dual segmenttransfer function based on the image average brightness value and thedark sample distribution value, the dual segment transfer functionhaving a lower segment, an upper segment, and an adaptive pivot pointwhich separates the lower segment and the upper segment; triggering acommencement of the adjusting step in response to a completion of theanalyzing step, said completion of said analyzing step occurring duringa reception of said video frame.
 7. The method of claim 6, wherein theadjusting step includes moving the adaptive pivot point in response tothe image average brightness value and adjusting a gain of the lowersegment in response to the dark sample distribution value.
 8. The methodof claim 7, wherein the triggering step includes providing an interruptsignal to a microprocessor.
 9. The method of claim 8, wherein thetriggering step is completed prior to a completion of the receivingstep.
 10. The method of claim 6, wherein the triggering step includesproviding an interrupt signal to a microprocessor.
 11. The method ofclaim 10, wherein the triggering step is completed prior to a completionof the receiving step.